﻿/**
 *******************************************************************************
 *                       Continental Confidential
 *                  Copyright (c) Continental AG. 2017
 *
 *      This software is furnished under license and may be used or
 *      copied only in accordance with the terms of such license.
 *******************************************************************************
 * @file    ChannelCursorItem.h
 * @brief   通道时间游标项类头文件
 *          定义了用于在通道场景中显示和交互的时间游标图形项，支持拖动操作
 *******************************************************************************
 */
// 中文注释：该文件定义了ChannelCursorItem类，用于在图形场景中显示时间游标
#ifndef CHANNELCURSORITEM_H
#define CHANNELCURSORITEM_H
#include <QGraphicsRectItem>

/**
 * @brief 通道时间游标项类
 * 继承自QGraphicsRectItem，用于在通道场景中显示可交互的时间位置标记
 * 提供三角形光标绘制和垂直参考线功能
 */
class ChannelCursorItem : public QGraphicsRectItem
{
public:
    /**
     * @brief 构造函数
     * @param parent 父图形项指针，用于内存管理
     */
    explicit ChannelCursorItem(QGraphicsItem *parent=0);
    /**
     * @brief 析构函数
     */
    virtual ~ChannelCursorItem();

private:
    /**
     * @brief 重写绘制函数
     * @param painter 绘图设备
     * @param option 样式选项
     * @param widget 关联窗口部件
     * 绘制红色三角形光标和垂直线，标记当前时间位置
     */
    void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
private:
    QSize m_size;         ///< 光标尺寸，存储光标的宽度和高度信息
    QPointF m_cursoPos;   ///< 光标位置，存储光标在场景中的坐标位置
};

#endif // CHANNELCURSORITEM_H
